/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tarea.memoriaintrmedia_lab04;

/**
 *
 * @author user
 */
public class pagina<T> {
    // identificador de la pagina en el disco
    private int numeroPagina;
    // datos almacenados en el bloque
    private T datos;
    // identificador de modificacion en los datos
    private boolean modificado;
    // identificador si es un bloque clavado
    private boolean clavado;
    
    public pagina(int numeroPagina, T datos){
        this.numeroPagina= numeroPagina;
        this.datos=datos;
        this.modificado=false;
        this.clavado=false;
    }

    public T getDatos() {
        return datos;
    }

    public void setDatos(T datos) {
        this.datos = datos;
        this.modificado = true;
    }

    public int getNumeroPagina() {
        return numeroPagina;
    }

    public void setNumeroPagina(int numeroPagina) {
        this.numeroPagina = numeroPagina;
    }

    public boolean isModificado() {
        return modificado;
    }

    public void guardar() {
        //Aqui se guarda los datos en disco duro .... 
        System.out.println("Guardado "+this.numeroPagina+" con datos "+this.datos);
        this.modificado = false;
    }

    public boolean isClavado() {
        return clavado;
    }

    public void ClavarBloque() {
        this.clavado = true;
        this.datos=(T) (this.datos.toString()+"clavado");
    }
    
     public void DesclavarBloque() {
        this.clavado = false;
    }
     
    @Override
    public String toString()
    {
        return "Numero de Pagina: "+this.numeroPagina+"\t"+
                "Dato de pagina: "+this.datos;
    }
    
    
}
